package com.hsjk.szwj.module.train.service;

import com.hsjk.szwj.framework.common.pojo.PageResult;
import com.hsjk.szwj.module.train.controller.admin.vo.AdminCheckoutOrderUpdateReqVO;
import com.hsjk.szwj.module.train.controller.admin.vo.AdminMemberCheckoutOrderPageReqVO;
import com.hsjk.szwj.module.train.controller.admin.vo.AdminMemberCheckoutOrderPageRespVO;
import com.hsjk.szwj.module.train.controller.app.vo.checkoutorder.AppMyCheckoutOrderDetailReqVO;
import com.hsjk.szwj.module.train.controller.app.vo.checkoutorder.AppMyCheckoutOrderDetailRespVO;
import com.hsjk.szwj.module.train.controller.app.vo.checkoutorder.AppMyCheckoutOrderSummaryRespVO;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/09/09 22:47
 **/
public interface ICheckoutOrderService {
    /**
     * 获取当前用户的推广数据明细
     *
     * @param reqVO
     * @return com.hsjk.szwj.framework.common.pojo.PageResult<com.hsjk.szwj.module.train.controller.app.vo.checkoutorder.AppMyCheckoutOrderDetailRespVO>
     * @author chenjiawei
     * @date 2023/9/11 5:02 PM
     **/
    PageResult<AppMyCheckoutOrderDetailRespVO> getMyPerformanceDetailPage(AppMyCheckoutOrderDetailReqVO reqVO);

    /**
     * 获取当前用户结算单汇总数据
     *
     * @return com.hsjk.szwj.module.train.controller.app.vo.checkoutorder.AppMyCheckoutOrderSummaryRespVO
     * @author chenjiawei
     * @date 2023/9/11 5:25 PM
     **/
    AppMyCheckoutOrderSummaryRespVO getMyCheckoutOrderSummary();

    /**
     * 用户结算单分页列表
     *
     * @param reqVO
     * @return com.hsjk.szwj.framework.common.pojo.PageResult<com.hsjk.szwj.module.train.controller.admin.vo.AdminMemberCheckoutOrderPageRespVO>
     * @author chenjiawei
     * @date 2023/9/26 10:34 AM
     **/
    PageResult<AdminMemberCheckoutOrderPageRespVO> memberCheckoutOrderPage(AdminMemberCheckoutOrderPageReqVO reqVO);

    /**
     * 结算单状态更新
     *
     * @param reqVO
     * @return java.lang.Boolean
     * @author chenjiawei
     * @date 2023/9/26 10:59 AM
     **/
    Boolean checkoutOrderUpdate(AdminCheckoutOrderUpdateReqVO reqVO);
}
